﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using WC.BL.BE;
using WC.BL.BCC;

namespace WC.UI.WebApp
{
    public partial class ModificarDatos : System.Web.UI.Page
    {        
        #region Metodos internos
        
        private void cargarCombos(DropDownList ddl)
        {
            try
            {
                ddl.DataSource = SectorBC.list();
                ddl.DataBind();

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        #endregion
        protected void Page_Load(object sender, EventArgs e)
        {
            //Sirve para validar si el usuario es ADMIN
            if (!Page.IsPostBack)
            {
                try
                {
                    cargarCombos(ddlRamoFiltro);
                    lblMesaje.Text = string.Empty;
                    UsuarioBE objUsuarioBE = (UsuarioBE)Session["UsuarioBE"];
                    UsuarioBE Usuario = UsuarioBC.read(objUsuarioBE.Usuario);
                    if (Usuario != null)
                    {
                        txtUsuario.Text = Usuario.Usuario;
                        txtClave.Text = Usuario.Clave;
                        txtCorreo.Text = Usuario.Correo;
                        txtNombre.Text = Usuario.Nombre;
                        ddlRamoFiltro.SelectedValue = Usuario.Ramo;
                        chbTipo.Checked = Usuario.AdminUser;

                        Session["UsuarioUPD"] = Usuario;
                    }
                }
                catch { }
            }
        }

        protected void btnGrabarI_Click(object sender, EventArgs e)
        {
            try
            {
            if (!txtCorreo.Text.Equals(""))
            {
                    if (txtCorreo.Text.IndexOf("@") > 0)
                    {
                        if (Session["UsuarioBE"] != null)
                        {
                            UsuarioBE Usuario = (UsuarioBE)Session["UsuarioUPD"];
                            Usuario.Usuario = txtUsuario.Text;
                            Usuario.Clave = txtClave.Text;
                            Usuario.Correo = txtCorreo.Text;
                            Usuario.Nombre = txtNombre.Text;
                            Usuario.Ramo = ddlRamoFiltro.SelectedValue;
                            Usuario.AdminUser = chbTipo.Checked;
                            Session["Mensaje"] = UsuarioBC.update(Usuario);

                            limpiarTextos();
                        }
                    }
                    else
                    {
                        Session["Mensaje"] = "Verifique que el correo sea el correcto, ejemplo: usuario@dominio.com";
                    }
                }
                else
                {
                        Session["Mensaje"] = "Debe de ingresar un correo, ejemplo: usuario@dominio.com.";
                }
            }
            catch (Exception ex)
            {
                Session["Mensaje"] = ex.Message;
            }
            finally
            {
                ((Main)Master).muestraMensajes();
            }
        }

        private void limpiarTextos()
        {
            txtUsuario.Text = string.Empty;
            txtClave.Text = string.Empty;
            txtCorreo.Text = string.Empty;
            txtNombre.Text = string.Empty;
            ddlRamoFiltro.Text = "";
            chbTipo.Checked = false;
        }
    }
}
